/*
 * ----------------------------------------------------------------------------
 *  (C) Copyright European Telecommunications Standards Institute, 2001.
 *  All Rights Reserved.
 *
 *  All copies of this program, whether in whole or in part, and whether
 *  modified or not, must display this and all other embedded copyright
 *  and ownership notices in full.
 *
 * ----------------------------------------------------------------------------
 */
package org.etsi.ttcn.tri;

import java.io.Serializable;

/**  
     <P>This interface includes all operations necessary to adapt the
     TTCN-3 Executable to a particular execution platform. The
     triPlatform interface offers means to start, stop, read a timer,
     enquire its status and to add timeout events to the expored timer
     list. In addition, it offers operations to call TTCN-3 external
     functions and to reset the Platform Adapter. Notice that there is
     not differentiation between explicit and implicit timers required
     at the triPlatform interface. Instead each timer shall be
     addressed uniformly with its timer identifier.
*/
public interface TriPlatformTE extends Serializable {
    /** 
	<p>This operation is called by the PA after a timer, which has
	previously been started using the triStartTimer operation, has
	expired, i.e., it has reached its maximum duration value.
	
	<p>The timeout with the timerId can be added to the timeout
	list in the TE. The implementation of this operation in the TE
	has to be done in such a manner that it addresses the
	different TTCN-3 semantics for timers defined in [TTCN-3] (see
	also Section 6.1.2).
	
	@param	timerId	identifier of the timer instance

	@see "TRI-Definition 7.6.6"
    */
    public void triTimeout(TriTimerId timerId);
}	

